'\" t
.TH "BINFMT\&.D" "5" "" "systemd 231" "binfmt.d"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
binfmt.d \- 在系统启动时为可执行文件配置 额外的二进制格式
.SH "SYNOPSIS"
.PP
/etc/binfmt\&.d/*\&.conf
.PP
/run/binfmt\&.d/*\&.conf
.PP
/usr/lib/binfmt\&.d/*\&.conf
.SH "描述"
.PP
在系统启动时，
\fBsystemd-binfmt.service\fR(8)
会从上述目录中读取配置文件，并根据配置文件的指引， 在内核中为可执行文件注册额外的二进制格式。
.SH "配置文件格式"
.PP
每个配置文件都包含一个 binfmt_misc 内核二进制格式规范的列表。 参见
\m[blue]\fBbinfmt_misc\&.txt\fR\m[]\&\s-2\u[1]\d\s+2
与
\m[blue]\fB《如何在Linux下指定特定类型的文件用特定的程序打开》\fR\m[]\&\s-2\u[2]\d\s+2
以了解如何注册额外的二进制格式， 以及如何编写规则。
.PP
空白行和以 # 或 ; 开头的行将被忽略。 这意味着不能在二进制格式规则中 将 # 与 ; 用作分隔符。
.SH "配置目录及其优先级"
.PP
配置文件依次从
/etc/,
/run/,
/usr/lib/
目录中读取。 配置文件的名称必须符合
\fIfilename\fR\&.conf
格式。 对于不同目录下的同名配置文件，仅以优先级最高的目录中的那一个为准。 具体说来就是：
/etc/
的优先级最高、
/run/
的优先级居中、
/usr/lib/
的优先级最低。
.PP
软件包应该将自带的配置文件安装在
/usr/lib/
目录中。
/etc/
目录仅供系统管理员使用。 所有的配置文件(无论位于哪个目录中)，统一按照文件名的字典顺序处理。 如果在多个配置文件中设置了同一个选项， 那么仅以文件名最靠后(字典顺序)的那一个为准。 为了便于排序，建议给所有配置文件 都加上两位十进制数字的文件名前缀。
.PP
如果系统管理员想要屏蔽
/usr/lib/
目录中的某个配置文件， 那么最佳做法是在
/etc/
目录中 创建一个指向
/dev/null
的同名符号链接， 即可彻底屏蔽
/usr/lib/
目录中的同名文件。 如果软件包自带的某个配置文件位于 initrd 镜像中， 那么还必须重新生成 initrd 镜像。
.SH "例子"
.PP
\fBExample\ \&1.\ \&/etc/binfmt\&.d/wine\&.conf 文件：\fR
.sp
.if n \{\
.RS 4
.\}
.nf
# 在执行 Windows 程序时启动 WINE
:DOSWin:M::MZ::/usr/bin/wine:
.fi
.if n \{\
.RE
.\}
.PP
[译者注]关于Java的实例可以查看OpenSuSE的
\m[blue]\fBjava\-binfmt\-misc\fR\m[]\&\s-2\u[3]\d\s+2
软件包。
.SH "参见"
.PP
\fBsystemd\fR(1),
\fBsystemd-binfmt.service\fR(8),
\fBsystemd-delta\fR(1),
\fBwine\fR(8)
.SH "NOTES"
.IP " 1." 4
binfmt_misc.txt
.RS 4
\%https://www.kernel.org/doc/Documentation/binfmt_misc.txt
.RE
.IP " 2." 4
《如何在Linux下指定特定类型的文件用特定的程序打开》
.RS 4
\%http://blog.csdn.net/roland_sun/article/details/50062295
.RE
.IP " 3." 4
java-binfmt-misc
.RS 4
\%http://rpm.pbone.net/index.php3?stat=3&search=java-binfmt-misc&srodzaj=3
.RE
.\" manpages-zh translator: 金步国
.\" manpages-zh comment: 金步国作品集：http://www.jinbuguo.com
